
using System;

namespace SpotifyGenNHibernate.EN.Spotify
{
        public class NoticiaEN
        {
        /**
         *
         */

        private int id;

        /**
         *
         */

        private String titulo;

        /**
         *
         */

        private String descripcion;

        /**
         *
         */

        private String enlace;

        /**
         *
         */

        private Nullable<DateTime> fechaPublicacion;





        public virtual int Id { get { return id; } set { id = value;  } }


        public virtual String Titulo { get { return titulo; } set { titulo = value;  } }


        public virtual String Descripcion { get { return descripcion; } set { descripcion = value;  } }


        public virtual String Enlace { get { return enlace; } set { enlace = value;  } }


        public virtual Nullable<DateTime> FechaPublicacion { get { return fechaPublicacion; } set { fechaPublicacion = value;  } }



        public NoticiaEN()
        {
        }



        public NoticiaEN(int id, String titulo, String descripcion, String enlace, Nullable<DateTime> fechaPublicacion)
        {
                this.init (id, titulo, descripcion, enlace, fechaPublicacion);
        }


        public NoticiaEN(NoticiaEN noticia)
        {
                this.init (noticia.Id, noticia.Titulo, noticia.Descripcion, noticia.Enlace, noticia.FechaPublicacion);
        }

        private void init (int id, String titulo, String descripcion, String enlace, Nullable<DateTime> fechaPublicacion)
        {
                this.Id = id;


                this.Titulo = titulo;

                this.Descripcion = descripcion;

                this.Enlace = enlace;

                this.FechaPublicacion = fechaPublicacion;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                NoticiaEN t = obj as NoticiaEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
